﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;


namespace Clinica_Frba
{

    public partial class FormBusquedaAfiliado : Form
    {
        public FormBusquedaAfiliado()
        {
            InitializeComponent();
        }

        private void lLimpiarFiltros_Click(object sender, EventArgs e)
        {
            tbNombre.Clear();
            tbApellido.Clear();
            tbNroDeAfiliado.Clear();
            tbNroDeDocumento.Clear();
            dgvResultadoDeBusqueda.Rows.Clear(); 
        }

        virtual protected void dgvResultadoDeBusqueda_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
        }

        virtual protected void lBuscar_Click(object sender, EventArgs e)
        {
            bool bHuboWhere = false;
            string strQuery = "SELECT nombre, apellido, nro_doc , id_afil FROM AFILIADO WHERE ";

            if ( tbNombre.Text.Length > 0)
            {
                strQuery += ("NOMBRE = '" + tbNombre.Text + "'");
                bHuboWhere = true;
            }

            if (tbApellido.Text.Length > 0)
            {
                if (bHuboWhere)
                    strQuery += " AND ";
                strQuery += ("APELLIDO = '" + tbApellido.Text + "'");
                bHuboWhere = true;
            }

            if (tbNroDeAfiliado.Text.Length > 0)
            {
                if (bHuboWhere)
                    strQuery += " AND ";
                strQuery += ("ID_AFIL = '" + tbNroDeAfiliado.Text + "'");
                bHuboWhere = true;
            }

            if (tbNroDeDocumento.Text.Length > 0)
            {
                if (bHuboWhere)
                    strQuery += " AND ";
                strQuery += ("NRO_DOC= '" + tbNroDeDocumento.Text + "'");
                bHuboWhere = true;
            }

            if (!bHuboWhere)
            {
                strQuery = "SELECT nombre, apellido, nro_doc , id_afil FROM AFILIADO ORDER BY nombre";
            }

            SqlConnection myConnection = new SqlConnection(publico.ConnectionString);
            myConnection.Open();
            SqlCommand consulta = new SqlCommand(strQuery, myConnection);
            SqlDataReader executeCMD = consulta.ExecuteReader();

            dgvResultadoDeBusqueda.Rows.Clear();
            while (executeCMD.Read())
            {
                dgvResultadoDeBusqueda.Rows.Add(executeCMD["nombre"], executeCMD["Apellido"], executeCMD["NRO_DOC"], executeCMD["ID_AFIL"]);
            }

            if(dgvResultadoDeBusqueda.Rows.Count == 0 )
            {
                Dialogos.MostrarMessageDialog("No se encontraron coincidencias...");
            }

        }
    }
}
